// 导入规定验证规则的包
const joi= require('@hapi/joi');
/** 
 * * string() 值必须是字符串 
 * * alphanum() 值只能是包含 a-zA-Z0-9 的字符串 
 * * min(length) 最小长度 * max(length) 最大长度 
 * * required() 值是必填项，不能为 undefined 
 * * pattern(正则表达式) 值必须符合正则表达式的规则 
 * */
// 用户验证
const username=joi.string().alphanum().min(1).max(10).required()
.error(new Error('用户名格式不对'));
const password=joi.string().pattern(/^[\S]{6,12}$/).required()
.error(new Error('密码格式不对')); 
const id=joi.number().integer().min(1).required().error(new Error('id格式不正确'))
const nickname=joi.string().required().error(new Error('昵称格式不正确'))
const email=joi.string().email().required().error(new Error('邮箱格式不正确'));
const avatar=joi.string().dataUri().required().error(new Error('头像格式不正确'))
// 将验证规则暴露出去
exports.reg_login_schema={
    // 表示对req.body进行验证
    body:{
        username,
        password
    }
}
exports.userinfo_schema={
    body:{
        
        nickname,
        email
    }
    
}
exports.update_password_schema={
    body:{
        oldPwd:password,
        // ref 里加引号
        newPwd:joi.not(joi.ref('oldPwd')).concat(password)
    }

}
exports.update_avatar_schema={
    body:{
        avatar
    }
}